package com.heima.controller;

import com.heima.common.PageResult;
import com.heima.pojo.dto.VMAddDto;
import com.heima.pojo.dto.VMDto;
import com.heima.pojo.vo.NodeInfoVo;
import com.heima.pojo.vo.NodeVo;
import com.heima.service.VMService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/vm-service/vm")
@Slf4j
@RequiredArgsConstructor
public class VMController {

    private final VMService vmService;

    /**
     * 查询
     * @param vmDto
     * @return
     */
    @GetMapping("/search")
    public PageResult<NodeInfoVo> searchRegionInfo(VMDto vmDto) {
        log.info("接收到参数: {}", vmDto);
        PageResult<NodeInfoVo> pageResult = vmService.searchVMInfo(vmDto);
        return pageResult;
    }

    /**
     * 新增
     * @param vmAddDto
     * @return
     */
    @PostMapping
    public Boolean saveVM(@RequestBody VMAddDto vmAddDto) {
        return vmService.saveVM(vmAddDto);
    }

    /**
     * 修改
     */
    @PutMapping("/{id}/{nodeId}")
    public Boolean updateVM(@PathVariable Integer id, @PathVariable String nodeId) {
        return vmService.updateVM(id, nodeId);
    }
}
